This document describes the Virtual Machine that serves as the basis for the
portable implementation of . The Virtual Machine (hereafter referred to as
the VM) provides a layer of abstraction that hides low-level details of
hardware and implementation strategy, while still revealing enough of the
implementation so that most of the system can be written at the VM level or
above.
Major components:
Specific virtual operations implemented by the VM (VOPs). VOPs are primarily
the concern of the compiler, since it translates Lisp code into VOPs and then
translates VOPs into the implementation.
Sub-primitives that are used by Lisp code needing to perform operations
below the Lisp level. The compiler implements some sub-primitives directly
using VOPs, while others are translated into Lisp code. Sub-primitives provide
a layer of insulation between the Lisp system code and the VM, since the Lisp
code may assume the existence of operations that are not implemented directly
by the VM. Only sub-primitives with fairly portable semantics are documented
here. Others are in implementation-specific VM documentation.
<Not all sub-primitives are VOPs, and most VOPs are not sub-primitives.>
Subsections